<?php

include_once("../inc/common.php");

// Dados sobre a tabela de autenticação
$auth_table = AUTH_TABLE;
$auth_id = AUTH_ID;
$auth_username = AUTH_USERNAME;
$auth_password = AUTH_PASSWORD;
$auth_level = AUTH_LEVEL;
$auth_cript = AUTH_CRIPT;

// Tratamento de campos
$fusername = Param::get("f_username");
if ($auth_cript) {
	$fpassword = sha1(Param::get("f_password"));
} else {
	$fpassword = Param::get("f_password");
}

// Controle de fluxo de página
$ret_page = Param::get("ret_page");
if ($ret_page == "")
	$ret_page = "../mod_novidades/novidades_lista.php";//Pagina inicial

// Validação
$error = new Error();
if ($fusername == "")
	$error->add("Nome de usuário deve ser informado");
if ($fpassword == "")
	$error->add("Senha deve ser informda");

// Validação de captcha
if (isset($_POST["f_captcha"])) {
	 if (strtoupper(Param::get("f_captcha")) !=strtoupper(Session::get("sis_captcha"))) {
		 $error->add("Código de verificação inválido");
	 }
}

// se passou na validação...
if (!$error->hasError()) {
	$sql = "SELECT * FROM $auth_table WHERE $auth_username='$fusername' AND $auth_password = '$fpassword' ".AUTH_WHERE;
	$rs = DBUtils::getRows($sql);
	
	if (sizeof($rs)>0) { // se entrou...
		Session::set("sis_username", $rs[0]["$auth_username"]);
		Session::set("sis_username_old", $rs[0]["$auth_username"]);
		Session::set("sis_level", $rs[0]["$auth_level"]);
		Session::set("sis_apl", SYS_APL_NAME);
		Session::set("sis_captcha_tentativas",0);
		$target_page = $ret_page;
		
	} else { // se não entrou...
		$error->add("Usuário ou senha inválidos");
		Session::set("sis_captcha_tentativas",intval(Session::get("sis_captcha_tentativas"))+1);
		$target_page = "../common/login.php";
	}
// não passou na validação...
} else {
	$target_page = "../common/login.php";
}
Messages::sendError($error->toString());
header("Location: $target_page");
?>